go/types.term.typ (field)
74 uses
go/types (current package)
builtins.go#L836: if r := f(t.typ); r != nil {
conversions.go#L228: x.typ = V.typ
conversions.go#L233: if !x.convertibleTo(check, T.typ, cause) {
conversions.go#L234: errorf("cannot convert %s (in %s) to %s (in %s)", V.typ, Vp, T.typ, Tp)
conversions.go#L246: x.typ = V.typ
conversions.go#L248: errorf("cannot convert %s (in %s) to %s", V.typ, Vp, T)
conversions.go#L258: if !x.convertibleTo(check, T.typ, cause) {
conversions.go#L259: errorf("cannot convert %s to %s (in %s)", x.typ, T.typ, Tp)
infer.go#L427: return t != nil && w.isParameterized(t.typ)
infer.go#L530: if !u.unify(tx, core.typ) {
infer.go#L539: check.errorf(posn, _InvalidTypeArg, "%s does not match %s%s", tpar, tilde, core.typ)
infer.go#L547: u.x.set(i, core.typ)
infer.go#L682: assert(debug && under(single.typ) == coreType(tpar))
infer.go#L750: w.typ(t.typ)
instantiate.go#L236: if alt == nil && !t.tilde && Identical(t.typ, under(t.typ)) {
instantiate.go#L240: alt = t.typ
operand.go#L264: newType, _, _ := check.implicitTypeAndValue(x, t.typ)
operand.go#L336: ok, code = x.assignableTo(check, T.typ, reason)
operand.go#L338: errorf("cannot assign %s to %s (in %s)", x.typ, T.typ, Tp)
operand.go#L357: x.typ = V.typ
operand.go#L360: errorf("cannot assign %s (in %s) to %s", V.typ, Vp, T)
predicates.go#L53: return tpar.is(func(t *term) bool { return t != nil && isBasic(t.typ, info) })
subst.go#L382: if u := subst.typ(t.typ); u != t.typ {
termlist.go#L54: if x != nil && x.typ == nil {
termlist.go#L83: if u1.typ == nil {
typeset.go#L47: return t != nil && comparable(t.typ, false, seen, nil)
typeset.go#L117: assert(t.typ != nil)
typeset.go#L133: assert(t.typ != nil)
typeset.go#L135: u := t.typ
typeset.go#L351: assert(t.typ != nil)
typeset.go#L352: if Comparable(t.typ) {
typeset.go#L404: u := under(t.typ)
typeset.go#L407: assert(!isTypeParam(t.typ))
typeset.go#L412: if t.tilde && !Identical(t.typ, u) {
typestring.go#L201: w.typ(t.typ)
typestring.go#L346: newTypeHasher(&buf, w.ctxt).typ(term.typ)
typeterm.go#L16: typ Type
typeterm.go#L23: case x.typ == nil:
typeterm.go#L26: return "~" + x.typ.String()
typeterm.go#L28: return x.typ.String()
typeterm.go#L38: case x.typ == nil || y.typ == nil:
typeterm.go#L39: return x.typ == y.typ
typeterm.go#L43: return x.tilde == y.tilde && Identical(x.typ, y.typ)
typeterm.go#L56: case x.typ == nil:
typeterm.go#L58: case y.typ == nil:
typeterm.go#L84: case x.typ == nil:
typeterm.go#L86: case y.typ == nil:
typeterm.go#L112: case x.typ == nil:
typeterm.go#L121: return Identical(x.typ, u)
typeterm.go#L132: case y.typ == nil:
typeterm.go#L134: case x.typ == nil:
typeterm.go#L154: if debug && (x.typ == nil || y.typ == nil) {
typeterm.go#L157: ux := x.typ
typeterm.go#L161: uy := y.typ
union.go#L42: func (t *Term) Type() Type { return t.typ }
union.go#L66: return term.typ // typ already recorded through check.typ in parseTilde
union.go#L92: if t.typ == Typ[Invalid] {
union.go#L96: u := under(t.typ)
union.go#L100: check.errorf(tlist[i], _InvalidUnion, "invalid use of ~ (%s is an interface)", t.typ)
union.go#L104: if !Identical(u, t.typ) {
union.go#L105: check.errorf(tlist[i], _InvalidUnion, "invalid use of ~ (underlying type of %s is %s)", t.typ, u)
union.go#L119: case t.typ == universeComparable.Type():
union.go#L167: assert(!IsInterface(y.typ))
union.go#L169: if IsInterface(x.typ) {
union.go#L175: if x == nil || x.typ == nil || y == nil || y.typ == nil {
validtype.go#L51: if check.validType0(t.typ, env, path) == invalid {